Exercise system

ABSTRACT

Various systems, processes, and techniques may be used to provide an exercise system. In certain implementations, an exercise system may include a base, a number of lights, and a controller. The base may be a padded material adapted to receive the lights and have a top surface adapted to allow illumination from the lights to propagate therethrough. The base may have an agility ladder applied thereto, the ladder having a number of spaces in which users may place their feet, and the lights may be located inside and outside the spaces of the ladder. The controller may be coupled to the lights and programmed to illuminate them in a plurality of different sequences, each sequence corresponding to different footwork exercise.

RELATED APPLICATIONS

The application claims priority to U.S. Patent Application No. 62/144,068, filed Apr. 7, 2015. This prior application is incorporated herein by reference in its entirety.

BACKGROUND

There are a variety of mats upon which people may exercise. Typically, mats provide cushioning for one or more exercises (e.g., gymnastics, wrestling, etc.). The mats often include some type of foam (e.g., medium or high density) with a cover thereover (e.g., plastic or vinyl).

SUMMARY

In one general aspect, an exercise system includes a base, a number of lights, and a controller. The base may be a padded material adapted to receive the lights and have a top surface adapted to allow illumination from the lights to propagate therethrough. The base may have an agility ladder applied thereto, the ladder having a number of spaces in which users may place their feet, and the lights may be located inside and outside the spaces of the ladder. The controller may be coupled to the lights and programmed to illuminate them in a plurality of different sequences, each sequence corresponding to different footwork exercise.

An exercise system in accordance with the present disclosure may have one or more features. For example, a user may be trained in a variety of footwork sequences. There are a number of footwork sequences that are useful various sports, and there are a number of footwork sequences that are useful for particular sports. Thus, a user may practice footwork sequences that are generally useful and that are particularly useful. Additionally, a user may be pushed to maintain and/or obtain a certain level of agility by trying to follow the light sequence. For example, a user may begin a footwork sequence at a low speed level and then progress to a higher speed as they become more accustomed to the footwork sequence and/or increase their agility. Moreover, a user may maintain a certain level of fitness and/or agility without having to have a trainer present. As another example, an exercise system may be portable. For instance, the base may be flexible enough to be compacted and relatively light. Thus, the exercise system may be transported to various locations. A variety of other features will be evident to those skilled in the art from the following disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1-1B are line drawings illustrating an example exercise system.

FIG. 2 is a line drawing illustrating another example exercise system.

FIG. 3 is a block diagram illustrating an example control system for an exercise mat.

FIG. 4 is a block diagram illustrating selected components of an example controller for an exercise system.

FIG. 5 is a block diagram illustrating selected components of an example user device for an exercise system.

FIG. 6 is a flowchart illustrating an example process for an exercise system.

FIG. 7 is a line drawing illustrating another example exercise system.

FIG. 8 is a block diagram illustrating a selected components of an example control system for the exercise system in FIG. 7.

FIG. 9 is a line drawing illustrating an additional example exercise system.

FIG. 10 is a block diagram illustrating an example computer system for an exercise system.

DETAILED DESCRIPTION

FIGS. 1-1B illustrate an example exercise system 100. At a high level, exercise system 100 includes a base 110, an agility ladder 120, and a number of lights 130, which are controllably sequenced to guide a user through a number of exercises in and/or around the ladder 120.

Base 110 may generally be a floor-like material. In particular implementations, base 110 may be padded. For example, base 110 may have a foam interior with a vinyl covering. Base 110 may, for instance, be similar in composition to heavy duty or light duty wrestling mats. Appropriate mats are available from Resilite Sports Products, Inc. of Sunbury, Pa. (USA). For more permanent installations, base 110 may be covered with a tougher material (e.g., plexiglass), which may have a texture applied to it for better traction. As illustrated, base 110 is approximately 4.5 feet wide and 30 feet long. Base 110 may be approximately 0.125 inches to 2.0 inches thick, depending on the implementation. Base 110 may have other dimensions in other implementations.

Agility ladder 120 is applied to base 110 and has a number of spaces 122 into which a user may step. In the illustrated implementation, agility ladder 120 is inscribed (e.g., printed) on the surface of base 110, and spaces 122 are approximately 1.3 feet×1.3 feet in length and width, although other dimensions may be used. In other implementations, ladder 120 may be inscribed on a subsurface (e.g., if the top surface is clear), or the agility ladder 120 may actually be a physical device integrated with the base 110. In these better implementations, the agility ladder may be made of rope, cord, plastic, metal and/or any other appropriate material and may lay on top of base 110 or be embedded in base 110 (e.g., in channels therein).

Lights 130 are embedded in base 110 and positioned on the inside of each space 122 and on the outsides of each space 122. The cover of base 110 may be configured to allow illumination from lights 130 to propagate therethrough (e.g., by apertures or clear covering). Each light 130 may correspond to a different foot position, depending on the exercise. Lights 130 are illuminated in a controlled manner to instruct a user as to when to step to the location at which each light is located. Lights 130 may, for example, be light emitting diodes (LEDs).

In certain implementations, each light may be a pair of lights (e.g., red and green). The different colors may inform the user as to which foot to place at each location (e.g., right for red and left for green).

In certain modes operation, a user may select an exercise pattern from amongst a number of preprogrammed footwork sequences, and the corresponding lights may illuminate in sequence. For example, typical exercises for personal fitness, injury rehabilitation, and general wellbeing include, but are not limited to, the Ickey Shuffle, Side Step, 5 Hops & Run, Crossover Run, Side Straddle Hop, Carioca, In & Out, Centipede, River Dance, Back & Forth, Single Leg Shuffle, Double Trouble, Hop Scotch Drill, Lateral Feet Drill, Tango Drill, Five Count Drill, 2 Feet In, 1 Foot Out, 2 Feet In, 2 Feet Out, Lateral 2 Feet In, 2 Feet Out, Scissor Jumps, Tail Whips, Front Tail Whips, Lateral Tail Whips, Ski Jumps, 90 Degree Jumps, Chimney Jumps, Foot Fire, Single Leg Jumps (Forward/Backward), Single Leg Lateral Jumps (Left/Right), Single Leg 90 Degree Jumps, Single Leg Jump Balance and Reach, Single Leg Vertical Jumps, Single Leg Lateral Vertical Jumps, Single Leg 2 Up/1 Back, Step Back Drill, and various other similar drills.

For instance, a user may start facing the agility ladder 120 lengthwise at one end (e.g., facing space 122 a). Light 130 a in space 122 a may then illuminate to instruct the user to step forward into space 122 a with one foot (e.g., left). Light 130 b in space 122 a may then illuminate to instruct the user to step forward into the space with the other foot (e.g., right). Light 130 a in space 122 b may then illuminate to instruct the user to step forward into the next space in the agility ladder with the first foot. Light 130 b in space 122 b may then illuminate to instruct the user to step forward into the second space with the other foot. This pattern repeats to allow the user to traverse the length of the agility ladder 120.

As another example, a user may start sidewise to the agility ladder 120 at one end (e.g., with their right side to space 122 a). Light 130 e in space 122 a may then illuminate to instruct the user to step sideways into space 122 a with one foot (e.g., right). Light 130 d in space 122 a may then illuminate to instruct the user to step sideways into the space with the other foot (e.g., left). Light 130 e in space 122 b may then illuminate to instruct the user to step sideways into the next space in the agility ladder with the first foot. Light 130 d in space 122 b may then illuminate to instruct the user to step sideways into the second space with the other foot. This pattern repeats to allow the user to traverse the length of the agility ladder in a sideways motion.

As an additional example, a user may start facing the agility ladder 120 lengthwise at one end (e.g., facing space 122 a). Light 130 c in space 122 a may then illuminate to instruct the user to hop forward into space 122 a in the agility ladder with one foot (e.g., right). Light 130 a in space 122 b may then illuminate to instruct the user to hop forward into the next space in the agility ladder with the first foot. This pattern repeats to allow the user to traverse the length of the agility ladder.

As a further example, a user may start on the side of the agility ladder 120 at one end (e.g., facing the side of space 122 a) and then light 130 e in space 122 a may illuminate to instruct the user to step forward into the first space in the agility ladder with one foot (e.g., right). Then, light 130 d in space 122 a may illuminate to instruct the user to step forward into space 122 a with the other foot (e.g., left). Next, light 130 k of space 122 b may illuminate to instruct the user to step to the other side of the agility ladder 120 with the first foot. Then, light 130 m of space 122 a may illuminate to instruct the user to step to the other side of agility ladder with the second foot. Light 130 e of space 122 b may then illuminate to instruct the user to step backward into space 122 b with the first foot. Light 130 d of space 122 b may then illuminate to instruct the user to step backward into space 122 b with the second foot. The user then steps backward to the original side of the agility ladder with both feet (one at a time). By repeating this process, the user snakes through the agility ladder 120.

The above examples illustrate just a few of the exercises that may be implemented using system 100. In general, system 100 may implement any exercise that involves user foot placement.

In some implementations, the speed with which lights 130 illuminate in a sequence may be adjustable. For instance, exercise system 100 may be useful for a wide variety of users (e.g., from children to professionals), and these users may have vastly different abilities. Additionally, for users that are just beginning to use exercise system 100, some footwork sequences may be confusing. Thus, the footwork sequences may be slowed down for beginners and sped up as they become more accustomed thereto. Moreover, for athletes that have been injured, starting slow and progressing may be part of the recovery process. A controller may, for example, speed up the sequences over time.

A variety of different speeds may be provided. For example, in some implementations, three speeds (e.g., slow, medium, and fast) may be provided. In other implementations, thirty speeds may be offered (e.g., from beginner to expert).

In particular implementations, the speed of the lights during an exercise may change. For example, an exercise may start slow to get the user in rhythm and then increase in speed.

Exercise system 100 also offers the ability to perform other exercises than with agility ladder 120. For example, lights 130 may be controlled to provide a starting sequence for a sprinter (e.g., running lengthwise down base 110). Although the lights in the agility ladder 120 may be used for this, the lights may, for example, not illuminate in every space of the agility ladder as sprinter's strides are typically much longer than spaces 122 of the agility ladder. Similar to the exercises with the agility ladder 120, the lights may be controlled at a variety of speeds (e.g., from beginner to expert), and the lights may vary in speed during an exercise (e.g., to simulate starts versus full speed). Moreover, the lengths of the strides may be controlled.

In the illustrated implementation, exercise system 100 also includes distance demarcations 140 on the sides thereof. These demarcations may be used for various exercises or tests (e.g., broad jumps, 5-10-5 shuttle, etc.).

Exercise system 100 provides a variety features. For example, a user may be trained in a variety of footwork sequences. There are a number of footwork sequences that are useful various sports, and there are a number of footwork sequences that are useful for particular sports. Thus, a user may practice footwork sequences that are generally useful and that are particularly useful. Additionally, a user may be pushed to maintain and/or obtain a certain level of agility by trying to follow the light sequence. For example, a user may begin a footwork sequence at a low speed level and then progress to a higher speed as they become more accustomed to the footwork sequence and/or increase their agility. Moreover, a user may maintain a certain level of fitness and/or agility without having to have a trainer present.

As another example, system 100 may be portable. Base 110 may, for example, be flexible enough to be compacted (e.g., rolled up) and relatively light (e.g., less than 40 pounds). Thus, system 100 may be transported to various locations.

Although FIG. 1 illustrates an example exercise system 100, other exercise systems may include fewer, additional, and/or a different arrangement of components. For example, base 110 may have sensors that detect whether a user's foot has contacted in an appropriate area (e.g., near an illuminated light) at an appropriate time (e.g., when the associated light is illuminated). The sensors may be embedded in base 110 or external thereto and may operate by mechanical (e.g., pressure) or optical techniques. A controller may signal a fault (e.g., visually or audibly) if a user's foot does not contact the appropriate location at the appropriate time. As another example, base 110 may be composed of sections that may be coupled together, which may increase portability. As an additional example, base 110 may include lights along one or more sides. The lights may, for example, be used to illustrate speeds or stride lengths for sprinters or other athletes. A system may also include one or more narrow extensions that may be coupled to the base to lengthen the light strands to longer distances (e.g., 40 yards, 100 yards, 440 yards, etc.).

FIG. 2 illustrates another example exercise system 200. Similar to exercise system 100, exercise system 200 includes a base 210, an activity ladder 220, and lights 230. Each of lights 230, however, is actually pair of lights. Each of a pair of lights may, for example, be a different color (e.g., red and green). The different colors may correspond to different feet of the user (e.g., red for right and green for left). Using different colored lights may assist the user in learning a footwork sequence.

FIG. 3 illustrates an example control system 300 for an exercise mat 302. Exercise mat 302 may, for example, be similar to base 110 in exercise system 100.

Control system 300 includes a number of lights 310, a controller 320, and a user device 330. Lights 310 may, for example, be embedded in exercise mat 302 and illuminate to indicate to a user as to where to place their feet during an exercise (i.e., the users are to step on or near the lights). Lights 310 may, for example, be LEDs.

Controller 320 is responsible for controlling the illumination of lights 310. For example, controller 320 may control the sequence in which lights 310 illuminate and the speed at which they illuminate. Controller 320 may, for example, include a microprocessor, a microcontroller, or a field-programmable gate array (FPGA) and have a number footwork sequences stored (e.g., as program instructions or data) therein. Controller 320 may be placed on or embedded in exercise mat 302.

Controller 320 communicates with lights 310 over wiring harness 340. Wiring harness 340 may be located under or in exercise mat 302. Exercise mat 302 may, for example, include channels formed in the backside through which wiring harness 340 runs.

Controller 320 communicates with user device 330 over a communication link 350 to receive instructions regarding which footwork sequences to perform. User device 330 may, for example, be a personal computer, a laptop computer, a personal digital assistant, a smart phone, a tablet, or any other type of computing device. Controller 320 may provide user interfaces to be presented on user device 330, or user device 330 may have user interfaces programmed therein (e.g., through an application). Communication link 350 may be a wireline link (e.g., RS-232, USB, Ethernet, etc.) or a wireless link (e.g., Bluetooth, WiFi, etc.).

In certain modes of operation, user device 330 establishes a connection with controller 320 through communication link 350 and then presents a series of user interfaces to the user. (The user interfaces may be stored on the controller or the user device.) The user then selects which footwork sequence(s) that they desire to perform and the level (i.e., speed). The user may individually select which footwork sequences to perform, or these may be stored for the user (e.g., in a user profile).

The controller then begins progressing through the footwork sequence(s). For example, controller 320 may start by illuminating those of lights 310 in the first footwork sequence. This can alert the user that the first footwork sequence is about to begin and also illustrate the sequence to the user. As part of this, controller 320 may illuminate the starting point for the user's feet for several seconds (e.g., 10) to allow the user to move to the proper starting location.

Controller 320 may then illuminate lights 310 in the first footwork sequence at the proper speed. The user should follow these lights with their feet to perform the footwork sequence.

After performing a footwork sequence, controller 320 may determine whether there is another footwork sequence to perform. Sometimes, a series of footwork sequences may be specified by a user before a first footwork sequence is started (e.g., through a number of selections in a user interface or through selecting a user profile). At other times, a user may specify a second footwork sequence after a first footwork sequence is complete. This capability may be especially useful for newer users to system 300 as it may allow them to adjust speed and/or footwork sequences as needed. For example, a newer user may want to repeat a specific footwork sequence several times to learn the footwork sequence.

Although FIG. 3 illustrates one example control system for an exercise system, other control systems for an exercise system may include fewer, additional, and/or a different arrangement of components. For example, a control system may not include a user device. For instance, controller 320 may have a display to present user interfaces to the user and input devices to receive input from the user. Thus, a control system may be totally contained in/on exercise mat 302. As another example, controller 320 may not be in/on exercise mat 302. Exercise mat 302 may, for example, include a port into which controller 320 can plug. As an additional example, system 300 may include sensors such that controller 310 may determine that a user's foot has contacted in an appropriate area (e.g., near an illuminated light) at an appropriate time (e.g., when the associated light is illuminated). The sensors may be embedded in mat 302 and may operate by mechanical (e.g., pressure) or optical techniques. The controller may signal a fault (e.g., audibly or visually) if a user's foot does not contact the appropriate location at the appropriate time.

FIG. 4 illustrates selected components of an example controller 400 for an exercise system. Controller 400 includes an arrangement of computer hardware, software, and firmware components that may be used in controlling an exercise system. Controller 400 may, for example, be used with exercise system 100.

Controller 400 includes a processing unit 410, a communication interface 420, memory 430, and an input/output device interface 460, all of which may communicate with one another by way of a communication network 470.

Processing unit 410 may include one or more processors (e.g., one or more microprocessors or microcontrollers). The processors could, for instance, operate according to reduced instruction set computer (RISC) or complex instruction set computer (CISC) principles. In general, processing unit 410 may include any device that manipulates information in a logical manner.

Communication interface 420 provides controller 400 with connectivity to one or more communication links and/or networks (e.g., LANs, WANs, or wireless LANs), by which controller 400 may communicate with other computer devices (e.g., user devices). Controller 400 may thus receive information and instructions from and provide information and instructions to other computing devices (such as user devices). Communication interface 420 may also communicate to and from memory 430.

Memory 430 may, for example, include random access memory (RAM), read-only memory (ROM), disc memory, and/or other persistent or non-transitory computer-readable storage media. Various items may be stored in different portions of memory 430 at various times (e.g., on a disc and in RAM). Memory 430, in general, may be any combination of devices for storing information.

Memory 430 includes instructions 440 and data 450. Instructions 440 include an operating system 442 (e.g., Windows, Linux, or Unix), which provides general administration and operation of controller 400, and one of more applications 444 that processing unit 410 executes in order to control light illumination for an exercise system. Applications 444 include a user interface module 446, which is responsible for providing user interfaces to a user accessing controller 400 and receiving instructions therefrom, and an illumination control module 448, which is responsible controlling illumination of the exercise system's lights (e.g., in the proper sequence and speed). Data 450 includes the data required for and generated by applications 444. For instance, data 450 includes footwork sequences 452 and user profiles 454. Footwork sequences 452 specify the sequence of lights for each exercise. User profiles 454 store the exercises that a particular user desires, along with personal information about the user (e.g., preferred speed for each exercise).

Input/output device interface 460 allows one or more user interface devices (e.g., keypads, pointing devices, microphones, etc.) to communicate with controller 400 and controller 400 to provide output to a user (e.g. through a display, a speaker, a projector, etc.). An input/output device interface may, for instance, include a network interface card (whether wired or wireless), a display adapter, a bus (e.g., parallel or serial), or any other device for interfacing with a user interface device.

Communication network 470 may, for example, include one or more buses (e.g., data or address). The busses may be serial and/or parallel in structure.

Controller 400 may be powered by an alternating current electrical source (e.g., 120 V, 60 Hz) or a direct current source (e.g., a battery, a solar cell, or an inductive charging unit). In some implementations, controller 400 may use either type of source.

In some modes of operation, communication interface 420 establishes a connection with a user device and processing unit 410 then generates a series of user interfaces for display to the user. The user then selects which footwork sequence(s) that they desire to perform and the level (i.e., speed). The user may individually select which footwork sequences to perform, or these may be stored for the user (e.g., in a user profile 454).

Processing unit 410 then begins progressing through the footwork sequences according to illumination control module 448. For example, processing unit 410 may start by illuminating lights in the first footwork sequence. This can alert the user that the first footwork sequence is about to begin and also illustrate the sequence to the user. As part of this, processing unit 410 may illuminate the starting point for the user's feet for several seconds to allow the user to move to the proper starting location.

Processing unit 410 may then illuminate the lights in the first footwork sequence at the proper speed. The user should follow these lights with their feet to perform the footwork sequence.

After executing a footwork sequence, processing unit 410 may determine whether there is another footwork sequence to perform. Sometimes, a series of footwork sequences may be specified by a user before a first footwork sequence is started (e.g., through a number of selections in a user interface or through selecting a user profile). At other times, a user may specify a second footwork sequence after a first footwork sequence is complete. This capability may be especially useful for newer users to the system as it may allow them to adjust speed and/or footwork sequences as needed. For example, a newer user may want to repeat a specific footwork sequence several times to learn the footwork sequence.

Although FIG. 4 illustrates one implementation of a controller for an exercise system, other controllers for an exercise system may include fewer, additional, and/or a different arrangement of components. For example, a controller may not include input/output device interface 460. A controller may, for example, receive input from a remote device (e.g., through communication interface 420). As another example, a controller may include a user input device (e.g., a keyboard, a mouse, a touch sensor, etc.) and/or a user output device (e.g., a display, a projector, or a speaker). As an additional example, a controller may not include a communication interface.

FIG. 5 illustrates selected components of an example user device 500 for an exercise system. User device 500 includes an arrangement of computer hardware, software, and firmware components that may be used in controlling an exercise system. User device 500 may, for example, be used with exercise system 100.

User device 500 includes a processing unit 510, a communication interface 580, memory 520, and an input/output device interface 540, all of which may communicate with one another by way of a communication network 590.

Processing unit 510 may include one or more processors (e.g., one or more microprocessors or microcontrollers). The processors could, for instance, operate according to reduced instruction set computer (RISC) or complex instruction set computer (CISC) principles. In general, processing unit 510 may include any device that manipulates information in a logical manner.

Communication interface 580 provides user device 500 with connectivity to one or more communication links and/or networks (e.g., LANs, WANs, or wireless LANs), by which user device 500 may access other computer devices (e.g., exercise mat controllers). User device 500 may thus receive information and instructions from and provide information and instructions to other computing devices. Communication interface 580 may also communicate to and from memory 520.

Memory 520 may, for example, include random access memory (RAM), read-only memory (ROM), disc memory, and/or other persistent or non-transitory computer-readable storage media. Various items may be stored in different portions of memory 520 at various times (e.g., on a disc and in RAM). Memory 520, in general, may be any combination of devices for storing information.

Memory 520 includes instructions 522 and data 530. Instructions 522 include an operating system 524 (e.g., Windows, Linux, or Unix), which provides general administration and operation of user device 500, and one of more applications 526 that processing unit 510 executes in order to control an exercise system. Applications 526 include a user interface module 528, which is responsible for providing user interfaces to a user accessing footwork sequences for an exercise system. Data 530 includes the data required for and generated by applications 526. For instance, data 530 includes footwork sequences 532 and user profiles 534. Footwork sequences 532 specify the exercises available to the user. User profiles 534 store the exercises that a particular user desires, along with personal information about the user (e.g., desired exercise speed).

Input/output device interface 540 allows one or more user devices (e.g., keypads, pointing devices, microphones, etc.) to communicate with user device 500, and processing unit 510 to provide output to a user (e.g. through a display, a speaker, a projector, etc.). An input/output device interface may, for instance, be a network interface card (whether wired or wireless), a bus (e.g., parallel or serial), a display controller, or any other device for interfacing with a computing device. In the illustrated implementation, input/output device interface 540 provides access to a display device 550 (e.g., a liquid crystal display), a tactile sensor 560 (e.g., a touch screen), and an audio output device 570 (e.g., a speaker).

Communication network 590 may, for example, include one or more busses (e.g., data or address). The busses may be serial and/or parallel in structure.

In certain modes of operation, communication interface 580 establishes a connection with an exercise system controller, and processing unit 510 presents a series of user interfaces on display device 550 to the user, which could be sent by the exercise system controller. The user then selects the footwork sequence(s) 532 via tactile sensor 560 that they desire to perform and the level (i.e., speed). The user may individually select which footwork sequences 532 to perform or these may be designated for the user (e.g., in a user profile 534). Processing unit 510 then sends the footwork sequences 532 to the exercise system controller, which controls illumination of the lights in/on the base.

In some modes of operation, after a footwork sequence is illuminated on the base, processing unit 510 may inquire as to whether there is another footwork sequence to perform. Sometimes, a series of footwork sequences may be specified by a user before a first footwork sequence is started (e.g., through a number of selections in a user interface or through selecting a user profile). At other times, a user may specify a second footwork sequence after a first footwork sequence is complete. This capability may be especially useful for newer users to the system as it may allow them to adjust speed and/or footwork sequences as needed. For example, a newer user may want to repeat a specific footwork sequence several times to learn the footwork sequence. If there is another footwork sequence to perform, processing unit 510 then sends the footwork sequence 532 to the exercise system controller, which controls illumination of the lights in/on the base.

FIG. 6 illustrates an example process 600 for an exercise system. Process 600 could, for example, be implemented by a controller such as controller 400.

Process 600 calls for determining whether a selection of a footwork sequence has occurred (operation 604). A footwork sequence may, for example, be selected as an individual exercise or as part of a group of exercises. For example, a number of footwork sequences may be stored in a user profile. If a footwork sequence has not been selected, process 600 calls for waiting for a footwork sequence to be selected.

Once a footwork sequence has been selected, process 600 calls for determining whether a speed has been selected (operation 608). A speed may, for example, be selected for an individual exercise or as part of a group of exercises. If a speed has not been selected, process 600 calls for waiting for a speed to be selected.

Once a speed has been selected, process 600 calls for providing a sequence start alert (operation 612). A sequence start alert may, for example, be the illumination of particular lights in/on the exercise mat. For example, the lights located where the user is supposed to start the sequence may be illuminated (e.g., in a steady mode or a flashing mode). After a period of time (e.g., 10 seconds), the lights for the footwork sequence may be illuminated in sequence, in order to familiarize the user with the footwork sequence. As another example, an audible alert may be provided (e.g., by an exercise mat controller or a user device).

Process 600 also calls for illuminating the lights in the footwork sequence at the prescribed speed (operation 618). The user should follow the lights with their feet as they are illuminated.

Process 600 calls for determining whether it has reached the end of the illumination sequence (operation 620). This determination may be made during the illumination sequence or after the sequence is complete. If the illumination sequence is not complete, process 600 calls for continuing to illuminate the lights in the footwork sequence (operation 618).

Once the illumination sequence is complete, process 600 calls for determining whether an additional footwork sequence has been specified (operation 624). An additional footwork sequence may, for example, be specified if a user desires to perform another footwork sequence or a number of footwork sequences were specified at one time (e.g., in a user profile). If an additional footwork sequence has been specified, process 600 calls for providing a sequence start alert (operation 612) and illuminating the light in the footwork sequence at the prescribed speed (operation 616). If there is not an additional footwork sequence, process 600 is at an end.

Although FIG. 6 illustrates a process for controlling an exercise system, other processes for controlling an exercise system may include fewer, greater, and/or a different combination of operations. For example, a process may not include determining whether a footwork sequence is complete. Additionally, a process may include determining whether there is a speed selection for an additional footwork sequence. Users may, for example, perform different footwork sequences at different speeds depending on their familiarity with the footwork sequences and their agility. Furthermore, various operations of process 400 may occur in a contemporaneous or simultaneous manner.

FIG. 7 illustrates another example exercise system 700. Similar to system 100, exercise system 700 includes a base 710, an agility ladder 720, and a number of lights 730, which are controllably sequenced to guide a user through a number of exercises.

Base 710 may generally be a floor-like material. In particular implementations, base 710 may be padded. For example, base 710 may have a foam interior with a vinyl covering. For more permanent installations, base 710 may be or may be covered with a tougher material (e.g., plexiglass), which may have a texture applied to it for better traction. In some implementations, the lights may be in or under the tougher material, with or without the base. As illustrated, base 710 is approximately 4.5 feet wide and 30 feet long. Base 710 may be approximately 0.125 inches to 2.0 inches thick, depending on the implementation. Base 710 may have other dimensions in other implementations.

Base 710 is divided into multiple sections 712 that may be separably coupled to each other. To interlock with each other, each section 712 may contain a locking member that interlocks with a locking member of an adjacent section (e.g., tongue and groove). In other implementations, a locking member may engage the edge of two sections 712 to couple them together.

In the illustrated implementations, each section is 5.0 feet in length. The sections may have other lengths in other implementations.

Agility ladder 720 has a number of spaces 722 into which a user may step. In the illustrated implementation, agility ladder 720 is inscribed (e.g., printed) on the surface of base 710, and spaces 722 are approximately 1.5 feet×1.5 feet in length and width, although other dimensions may be used.

Lights 730 are embedded in base 710 and positioned on the inside of each space 722 and on the outsides of each space 722. The cover of base 710 may be configured to allow illumination from lights 730 to propagate therethrough (e.g., by apertures or clear covering). Each light 730 may correspond to a different foot position, depending on the exercise. Lights 730 are illuminated in a controlled manner to instruct a user as to when to step to the location at which each light is located. Lights 730 may, for example, be light emitting diodes (LEDs).

Sections 720 may be electrically coupled to each other to provide power and control to lights 730, or each section 720 may have its own power and control. Sections 720 may be powered by batteries, solar cells, inductive charging, and/or any other appropriate power source.

In certain implementations, each light 730 may be a pair of lights (e.g., red and green). The different lights may inform the user as to which foot to place at the location (e.g., right for red and left for green).

In certain modes operation, a user may select an exercise pattern from amongst a number of preprogrammed footwork sequences, and the corresponding lights may illuminate in sequence. In some implementations, the speed with which lights 730 illuminate in a footwork sequence may be adjustable. For instance, exercise system 700 may be useful for a wide variety of users (e.g., from children to professionals), and these users may have vastly different abilities. Additionally, for users that are just beginning to use exercise system 700, some of the footwork sequences may be confusing. Thus, the footwork sequences may be slowed down for beginners and sped up as they become more accustomed thereto. Moreover, for athletes that have been injured, starting slow and progressing may be part of the recovery process.

A variety of different speeds may be provided. For example, in some implementations, three speeds (e.g., slow, medium, and fast) may be provided. In other implementations, thirty speeds may be offered (e.g., from beginner to expert).

Exercise system 700 also includes lights 740, which run along the side of the exercise mat. Lights 740 may, for example, be controlled to provide a starting sequence for a sprinter (e.g., running lengthwise down base 710). Although the lights 740 may be used for this, not every light 740 may illuminate for every exercise sequence. For instance, a sprinter's strides may be of different length (even within one sprint). Similar to the exercises with the agility ladder 720, the lights 740 may be controlled at a variety of speeds (e.g., from beginner to expert). Moreover, the lengths of the strides may be controlled.

In the illustrated implementation, exercise system 700 also includes distance demarcations 750 on the sides thereof. The demarcations are in inches, feet, and yards in the illustrated implementation, but various combinations, along with other distances (e.g., metric), may be used in other implementations. These demarcations may be used for various exercises or tests (e.g., broad jumps, 5-10-5 shuttle, etc.).

Exercise system 700 provides a variety features. For example, a user may be trained in a variety of footwork sequences. There are a number of footwork sequences that are useful for various sports, and there are a number of footwork sequences that are useful for particular sports. Thus, a user may practice footwork sequences that are generally useful and that are particularly useful. Additionally, a user may be pushed to maintain and/or obtain a certain level of agility by trying to follow the light sequence. For example, a user may begin a footwork sequence at a low speed level and then progress to a higher speed as they become more accustomed to the footwork sequence and/or increase their agility. Moreover, a user may maintain a certain level of fitness and/or agility without having to have a trainer present.

As another example, system 700 may be portable. Base 710 may, for example, be relatively light (e.g., less than 40 pounds), but because it can be broken down into smaller sections, it may be readily stored or transported. Thus, system 700 may be transported to various locations.

Although FIG. 7 illustrates an example, exercise system 700, other exercise systems may include fewer, additional, and/or a different arrangement of components. For example, base 710 may have sensors that detect whether a user's foot has contacted in an appropriate area (e.g., near an illuminated light) at an appropriate time (e.g., when the associated light is illuminated). The sensors may be embedded in base 710 or external thereto and may operate by mechanical (e.g., pressure) or optical techniques. A controller may signal a fault if a user's foot does not contact the appropriate location at the appropriate time. As another example, base 110 may be composed of on one section. As an additional example, a system may also include one or more narrow extensions that may be coupled to the base to lengthen the lights 740 to longer distances (e.g., 40 yards, 100 yards, 440 yards, etc.).

FIG. 8 illustrates an example control system 800 for an exercise system having a number of sections 802. Sections 802 may, for example, be similar to base 710 in exercise system 700.

Each section 802 includes a number of lights 810, a controller 820, and a wiring harness 830. Lights 810 may be embedded in sections 802 and illuminate to indicate to a user as to where to place their feet during an exercise. Lights 810 may, for example, be LEDs.

Controllers 820 are responsible for controlling the illumination of lights 810 for their respective sections 802. For example, controllers 820 may control the sequence in which lights 810 illuminate and the speed at which they illuminate. Controllers 820 may, for example, include a microprocessor, a microcontroller, or a field-programmable gate array (FPGA). Controllers 820 may include a number footwork sequences stored therein. Controllers 820 may be placed on or embedded in sections 802.

Controllers 820 communicate with lights 810 over wiring harnesses 830 in their respective sections. Wiring harnesses 830 may be located under or in sections 802. Sections 802 may, for example, include channels formed in the backside through which wiring harness runs.

Controllers 820 may communicate with each other over wired or wireless links in order to synchronize the light sequences between the different sections 802. In particular implementations, the controllers may communicate with each other through wireless LAN techniques (e.g., IEEE 802.11. Bluetooth, IEEE 802.15, etc.).

When controllers 820 are communicating with each other wirelessly, each section 802 may have its own power source. For example, batteries, solar cells, and/or inductive charging units may be used.

The controller 820 for section 802 a communicates with user device 840 over a communication link 850 to receive instructions regarding which footwork sequences to perform. User device 840 may, for example, be a personal computer, a laptop computer, a personal digital assistant, a smart phone, a tablet, or any other type of computing device. Controller 820 for section 802 a may provide user interfaces to be presented on user device 840, or user device 840 may have user interfaces programmed therein (e.g., through an application). Communication link 350 may be wireline link (e.g., RS-232, USB, Ethernet, etc.) or a wireless link (e.g., Bluetooth, WiFi, etc.).

In certain modes of operation, user device 840 establishes a connection with controller 820 of section 802 a and then presents a series of user interfaces to the user. (The user interfaces may be stored on the controller or the user device.) The user then selects which footwork sequence(s) that they desire to perform and the level (i.e., speed). The user may individually select which footwork sequences to perform, or these may be stored for the user (e.g., in a user profile).

The controller 820 for section 802 a then begins progressing through the footwork sequence(s). For example, the controller 820 may start by illuminating lights 810 in the first footwork sequence. This can alert the user that the first footwork sequence is about to begin and also illustrate the sequence to the user. As part of this, controller 820 may illuminate the starting point for the user's feet for several seconds (e.g., 10) to allow the user to move to the proper starting location.

Controller 820 in section 802 a may then illuminate lights 810 in section 802 a in the first footwork sequence at the proper speed. The user should follow these lights with their feet to perform the footwork sequence.

Controller 820 in section 802 a may also communicate with controller 820 in section 802 b to inform the second controller of the footwork sequence being implemented and the time to begin the footwork sequence using lights 810 in section 802 b. The timing of lights between sections 802 may be synchronized to within a few milliseconds (and maybe even several hundred microseconds or less). A user will typically not notice an imprecision of a few milliseconds (and maybe even a few tens of milliseconds).

Controller 820 in section 802 b or in section 802 a may also communicate with controller 820 in section 802 c to inform the third controller of the footwork sequence being implemented and the time to begin the footwork sequence using lights 810 in section 802 b. Controllers 820 may have identifiers that allow a determination of their order to be made. Additionally, the physical order of the sections may be identified by the distance demarcations or other indicators.

After performing a footwork sequence, controller 820 in section 802 a may determine whether there is another footwork sequence to perform. Sometimes, a series of footwork sequences may be specified by a user before a first footwork sequence is started (e.g., through a number of selections in a user interface or through selecting a user profile). At other times, a user may specify a second footwork sequence after a first footwork sequence is complete. This capability may be especially useful for newer users to system 300 as it may allow them to adjust speed and/or footwork sequences as needed. For example, a newer user may want to repeat a specific footwork sequence several times to learn the footwork sequence.

Although FIG. 8 illustrates one example control system for an exercise system, other control systems for an exercise system may include fewer, additional, and/or a different arrangement of components. For example, a control system may not include a user device. For instance, controller 820 for section 802 a may have a display to present user interfaces to the user and input devices to receive input from the user. Thus, a control system may be totally contained in/on section 802. As another example, controllers 820 may not be in/on sections 802. Sections 802 may, for example, includes a port into which controller 820 can plug.

FIG. 9 illustrates another example exercise system 900. Exercise system 900 includes a base 910, which may include an agility ladder and a number of lights that are controllably sequenced to guide a user through a number of exercises.

Base 910, only a part of which is shown, may generally be a floor-like material. In particular implementations, base 910 may be padded. For example, base 910 may have a foam interior with a vinyl covering. For more permanent installations, base 910 may be or may be covered with a tougher material (e.g., plexiglass), which may have a texture applied to it for better traction. Base 910 may, for example, approximately 4.5 feet wide and may be approximately 30 feet long. Base 910 may be approximately 0.125 inches to 2.0 inches thick, depending on the implementation. Base 910 may have other dimensions in other implementations.

Base 910 may be one piece or may be divided into multiple sections that may be coupled to each other. This may assist in making system 900 more portable. To interlock with each other, each section may contain a locking member that interlocks with a locking member of an adjacent section (e.g., tongue and groove). Additionally, a locking member may engage the edge of two sections to couple them together.

Exercise system 900 also includes lights 920, which run along the side of the base 910. Lights 920 may, for example, be controlled to provide a starting sequence for a sprinter (e.g., running lengthwise down base 910). Although the lights 920 may be used for this, not every light 920 may illuminate for every exercise sequence. For instance, a sprinter's strides may be of different length (even within one sprint). The lights 920 may be controlled at a variety of speeds (e.g., from beginner to expert). Moreover, the lengths of the strides may be controlled.

In the illustrated implementation, exercise system 900 also includes distance demarcations 930 on the sides thereof. The demarcations are in inches, feet, and yards in the illustrated implementation, but various combinations, along with other distances (e.g., metric), may be used in other implementations. These demarcations may be used for various exercises or tests (e.g., broad jumps, 5-10-5 shuttle, etc.).

Exercise system 900 also includes a number of narrow sections 940 that couple to and extend from the end of base 910. Sections 940 may be made of the same or different material as base 910. Sections 940 includes lights 942 and distance demarcations 944. Lights 942 may be sequenced with lights 920 to provide a progression (e.g., linear) along the entire length of base 910 and sections 940. In the illustrated implementation, sections are 10 feet long and extend the lights 920, 942 to 40 yards. Other section lengths and overall extensions may be used in other implementations.

Each section 940 may include its own controller for controlling its lights 942. The controllers may communicate with each other (e.g., wirelessly) to provide a relatively precise timing for light sequences between the sections.

In certain modes operation, a user may select an exercise pattern from amongst a number of preprogrammed footwork sequences, and the corresponding lights may illuminate in sequence. In some implementations, the speed with which lights 920, 942 illuminate in a footwork sequence may be adjustable. For instance, exercise system 900 may be useful for a wide variety of users (e.g., from children to professionals), and these users may have vastly different abilities. Additionally, for users that are just beginning to use exercise system 900, some of the footwork sequences may be confusing. Thus, the footwork sequences may be slowed down for beginners and sped up as they become more accustomed thereto. Moreover, for athletes that have been injured, starting slow and progressing may be part of the recovery process.

A variety of different speeds may be provided. For example, in some implementations, three speeds (e.g., slow, medium, and fast) may be provided. In other implementations, thirty speeds may be offered (e.g., from beginner to expert).

System 900 has a variety of features. For example, system 900 may be portable. Base 910 may, for example, be relatively light (e.g., less than 40 pounds), and because it can be separated apart from sections 940, which can themselves be separated from each other, system 900 may be readily stored or transported. Thus, system 900 may be transported to various locations. Additionally, system 900 provides an elongated training system without extending base 910 out to the full length, which reduces weight and bulk.

Although FIG. 9 illustrates one example exercise system, other exercise systems may include fewer, additional, and/or a different arrangement of components. For example, an exercise system may include a user device. As another example, sections 940 may be used without base 910. For example, sections 940 may be extend along the straightway of a track (e.g., for approximately 100 yards) or along the inside of a track (e.g., 440 yards) to provide pacing for users.

The various illustrative logical blocks and modules described in connection with the implementations disclosed herein can be implemented or performed by a machine, such as a processing unit or processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor can include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technology, a processor may also include primarily analog components. For example, some or all of the signal processing algorithms described herein may be implemented in analog circuitry or mixed analog and digital circuitry. A computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.

Any process descriptions, elements or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or elements in the process. Alternate implementations are included within the scope of the implementations described herein in which elements or functions may be deleted or executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.

Conjunctive language such as the phrase “at least one of X, Y and Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to convey that an item, term, etc. may be either X, Y, or Z, or a combination thereof. Thus, such conjunctive language is not generally intended to imply that certain implementations require at least one of X, at least one of Y, and at least one of Z to each be present.

Conditional language such as, among others, “can,” “could,” “might” or “may,” unless specifically stated otherwise, are otherwise understood within the context as used in general to convey that certain implementations include, while other implementations do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more implementations or that one or more implementations necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.

Unless otherwise explicitly stated, articles such as “a” or “an” should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.

FIG. 10 illustrates an example computer system 1000 capable of executing the program components described above for controlling an exercise system. Computer system 1000 may illustrate a conventional workstation, desktop computer, laptop, tablet, network appliance, personal digital assistant (“PDA”), e-reader, smart phone, or other computing device, and may be utilized to execute any aspects of the software components presented herein. For example, the computer system 1000 may be utilized to implement the various components described above with regard to FIGS. 3-6.

The computer system 1000 includes a baseboard 1002, or “motherboard,” which is a printed circuit board to which a multitude of components or devices may be connected by way of a system bus or other electrical communication paths. Computer system 1000 includes one or more central processing units (“CPUs”) 1004. The CPUs 1004 may, for example, be standard programmable processors that perform arithmetic and logical operations necessary for the operation of the computer 1000.

The CPUs 1004 perform operations by transitioning from one discrete, physical state to the next through the manipulation of switching elements that differentiate between and change these states. Switching elements may generally include electronic circuits that maintain one of two binary states, such as flip-flops, and electronic circuits that provide an output state based on the logical combination of the states of one or more other switching elements, such as logic gates. These basic switching elements may be combined to create more complex logic circuits, including registers, adders, subtractors, arithmetic logic units, floating-point units, and the like.

Chipset 1006 provides an interface between the CPUs 1004 and the remainder of the components and devices on the baseboard 1002. The chipset 1006 may provide an interface to a random access memory (“RAM”) 1008, used as the processing memory in the computer 1000. The chipset 1006 may further provide an interface to a computer-readable storage medium such as a read-only memory (“ROM”) 1010 or non-volatile RAM (“NVRAM”) for storing basic routines that help to startup the computer 1000 and to transfer information between the various components and devices. The ROM 1010 or NVRAM may also store other software components necessary for the operation of the computer 1000 in accordance with the embodiments described herein.

The computer 1000 may operate in a networked environment using logical connections to remote computing devices and computer systems through a network, such as the local area network 1020. The chipset 1006 may include functionality for providing network connectivity through a network interface controller (“NIC”) 1012 such as a gigabit Ethernet adapter. The NIC 1012 is capable of connecting the computer system 1000 to other computing devices over the network 1020. It should be appreciated that multiple NICs 1012 may be present in the computer system 1000, connecting the computer to other types of networks and remote computer systems.

The computer system 1000 may be connected to a mass storage device 1018 that provides non-volatile storage for the computer. The mass storage device 1018 may store system programs, application programs, other program modules, and data, which have been described in greater detail herein. The mass storage device 1018 may be connected to the computer system 1000 through a storage controller 1014 connected to the chipset 1006. The mass storage device 1018 may consist of one or more physical storage units. The storage controller 1014 may interface with the physical storage units through a serial attached SCSI (“SAS”) interface, a serial advanced technology attachment (“SATA”) interface, a fiber channel (“FC”) interface, or other type of interface for physically connecting and transferring data between computers and physical storage units.

The computer system 1000 may store data on the mass storage device 1018 by transforming the physical state of the physical storage units to reflect the information being stored. The specific transformation of physical state may depend on various factors, in different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the physical storage units, whether the mass storage device 1018 is characterized as primary or secondary storage, and the like.

For example, the computer system 1000 may store information to the mass storage device 1018 by issuing instructions through the storage controller 1014 to alter the magnetic characteristics of a particular location within a magnetic disk drive unit, the reflective or refractive characteristics of a particular location in an optical storage unit, or the electrical characteristics of a particular capacitor, transistor, or other discrete component in a solid-state storage unit. Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this description. The computer system 1000 may further read information from the mass storage device 1018 by detecting the physical states or characteristics of one or more particular locations within the physical storage units.

In addition to the mass storage device 1018 described above, the computer system 1000 may have access to other computer-readable storage media to store and retrieve information, such as program modules, data structures, or other data. It should be appreciated by those skilled in the art that computer-readable storage media can be any available media that provides for the storage of non-transitory data and that may be accessed by the computer system 1000.

By way of example, computer-readable storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology. Computer-readable storage media includes RAM, ROM, erasable programmable ROM (“EPROM”), electrically-erasable programmable ROM (“EEPROM”), flash memory or other solid-state memory technology, compact disc ROM (“CD-ROM”), digital versatile disk (“DVD”), high definition DVD (“HD-DVD”), BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information in a non-transitory fashion.

The mass storage device 1018 may store an operating system 1030 utilized to control the operation of the computer system 1000. According to one embodiment, the operating system comprises the LINUX operating system. According to another embodiment, the operating system comprises the WINDOWS® operating system from MICROSOFT Corporation. According to further embodiments, the operating system may comprise the UNIX or SOLARIS operating systems. It should be appreciated that other operating systems may also be utilized. The mass storage device 1018 may store other system or application programs 1032 and data utilized by the computer system 1000. For example, mass storage device 1018 may store a server selector manager like server selector manager 134 as an application and server metrics and selector metrics as data. The mass storage device 1018 might also store other programs and data not specifically identified herein.

In certain embodiments, the mass storage device 1018 or other computer-readable storage media is encoded with computer-executable instructions which, when loaded into the computer system 1000, transform the computer from a general-purpose computing system into a special-purpose computer capable of implementing the embodiments described herein. These computer-executable instructions transform the computer system 1000 by specifying how the CPUs 1004 transition between states, as described above. According to one embodiment, the computer system 1000 has access to computer-readable storage media storing computer-executable instructions which, when executed by the computer system 1000, perform the various processing routines described above. The computer system 1000 might also include computer-readable storage media for performing any of the other computer-implemented operations described herein.

The computer system 1000 may also include one or more input/output controllers 1016 for receiving and processing input from a number of input devices, such as a keyboard, a mouse, a touchpad, a touch screen, an electronic stylus, or other type of input device. Similarly, the input/output controller 1016 may provide output to a display, such as a computer monitor, a flat-panel display, a digital projector, a printer, a plotter, or other type of output device. It will be appreciated that the computer system 1000 may not include all of the components shown in FIG. 10, may include other components that are not explicitly shown in FIG. 10, or may utilize an architecture completely different than that shown in FIG. 10.

Based on the foregoing, it should be appreciated that various technologies for an exercise system have been presented herein. Moreover, although the subject matter presented herein has been described in language specific to computer structural features, methodological acts, and computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts, and mediums are disclosed as example forms of implementing the claims.

The subject matter described above is provided by way of illustration only and should not be construed as limiting. A number of implementations for an exercise system have been described, and several others have been mentioned or suggested. Moreover, those of ordinary skill in the art will readily recognize that the number of additions, deletions, substitutions, and modifications may be made to the implementations while still achieving an exercise system. Thus, the scope of the protected subject matter should be judged based on the following claims, which may encompass one or more aspects of one or more of the implementations. 

1. An exercise system comprising: a plurality of lights; a base, the base comprising a padded material adapted to receive the plurality of lights and a top surface adapted to allow illumination from the lights to propagate therethrough, the base including an agility ladder applied thereto, the ladder having a number of spaces in which users may place their feet during an exercise, and the lights being located inside and outside the spaces of the agility ladder; and a controller coupled to the lights, the controller programmed to illuminate the lights in a plurality of different sequences that direct a user to place their feet into and out of the spaces of the ladder, each sequence corresponding to a different footwork exercise.
 2. The system of claim 1, wherein the lights comprise light emitting diodes.
 3. The system of claim 1, wherein the controller is adapted to provide a preview of footwork exercise before before an exercise begins.
 4. The system of claim 1, wherein the controller is adapted to illuminate a sequence of lights at different speeds.
 5. The system of claim 1, wherein the controller is adapted to illuminate a plurality of footwork sequences for a user.
 6. The system of claim 5, wherein the controller is adapted to allow the user to specify the footwork sequences.
 7. The system of claim 6, further comprising a user device, the user device adapted to communicate with the controller to specify one or more footwork sequences.
 8. The system of claim 1, wherein the controller is adapted to increase the speed of a footwork exercise over time.
 9. The system of claim 1, wherein the base has distance demarcations applied thereto. 